دانشگاه آزاد اسلامی
واحد علوم و تحقیقات کرمان
دانشکده فنی و مهندسی، گروه مهندسی برق
پایان نامه برای دریافت درجه کارشناسی ارشد در رشته مهندسی برق (M.Sc)
گرایش: الکترونیک
عنوان:
طراحی و پیاده سازی یک ریزپردازنده قابل پیکربندی مجدد
استاد راهنما:
دکتر مهدی جعفری
استاد مشاور:
دکتر مهران ابدالی
برای رعایت حریم خصوصی نام نگارنده پایان نامه درج نمی شود
(در فایل دانلودی نام نویسنده موجود است)
تکه هایی از متن پایان نامه به عنوان نمونه :
(ممکن است هنگام انتقال از فایل اصلی به داخل سایت بعضی متون به هم بریزد یا بعضی نمادها و اشکال درج نشود ولی در فایل دانلودی همه چیز مرتب و کامل است)
فهرست مطالب:
چکیده………………………………… 1
فصل اول:تاریخچه محاسبات با قابلیت پیکربندی مجدد
1-1- مقدمه………………………………… 3
فصل دوم: مفهوم، معماریها و روشهای طراحی سیستمهای قابل پیکربندی مجدد
2-1- محاسبات و سخت افزار با قابلیت پیکربندی مجدد………………. 8
2-2- پیکربندی مجدد جزئی پویا و ایستا در FPGA ها………………… 10
2-3- معرفی مرجع اول در پیکر بندی مجدد FPGA……………………….
2-4- معرفی مرجع دوم در پیکر بندی مجدد FPGA…………………….
2-5- معرفی مرجع سوم در پیکر بندی مجدد FPGA……………………….
2-6- معرفی مرجع چهارم در پیکر بندی مجدد FPGA……………………
2-7- معرفی مرجع پنجم در پیکر بندی مجدد FPGA……………………
فصل سوم: پیاده سازی نرم افزاری و سخت افزاری پیکربندی مجدد پیشنهادی
3-1- مقدمه………………………………… 19
3-2- پیاده سازی جمع کننده Carry_Look_Ahead به صورت n بیتی………….. 20
3-3- پیاده سازی ضرب کننده به صورت n بیتی…………………………………. 24
3-3-1 ضرب کننده برای دو عدد قدر مطلق علامت…………………………….. 24
3-3-2 ضرب دو عددمتمم 2 یا 2’s…………………………………
3-4- پیاده سازی تقسیم کننده به صورت n بیتی……………………………… 26
3-5- طراحی سخت افزار و ALU برای پیاده سازی کدها با قابلیت پیکر بندی مجدد……..28
3-5-1 طراحی واحد کنترل………………………………… 28
3-5-2 به کارگیری کنترل های FPGA در طراحی سخت افزاری با سرعت بالا………31
فصل چهارم: نتایج شیبه سازی
4-1- نتایج شیبه سازی در نرم افزار Modelsim………………………………….
4-2- نتایج شیبه سازی در نرم افزار ISE…………………………………
4-3- مقایسه با مراجع………………………………… 51
فصل پنجم: نتیجه گیری
5-1- نتیجه گیری…………………………………. 54
فصل ششم: کارهای آینده
6-1- کارهای آینده……………………………….. 56
منابع و مآخذ………………………………… 57
فهرست منابع انگلیسی…………………………………. 57
پیوست: کدهای نوشته شده VHDL…………………………………
چکیده انگلیسی……………………………….. 68
چکیده:
دو روش کلی در محاسبات برای اجرای الگوریتمهای مختلف وجود دارد. روش اول، استفاده از ASIC ها میباشد تا بتوانیم الگوریتم مورد نظر را در سختافزار اجرا و پیادهسازی کنیم. چون این تجهیزات برای هر الگوریتم خاص ساخته میشوند، سریع و کارا میباشند. اما مدارات آنها پس از ساخته شدن، تغییر نمیکنند. راه دوم، استفاده از ریزپردازندهها است که بسیار انعطاف پذیرتر میباشند. آنها مجموعهای از دستورات را اجرا میکنند و کارایی سیستم را بدون تغییر سختافزار، تغییر میدهند. اما، همانند یک ASIC به این دلیل که برای یک کاربرد خاص طراحی نشدهاند، دارای قابلیت انعطاف نمیباشد. سیستمهای با قابلیت پیکربندی مجدد به گونهای توسعه یافته است تا فاصله میان سختافزار و نرمافزار را کم کند و همچنین، به یک کارایی بسیار بالاتر از نرمافزار و قابلیت انعطاف بیشتر سختافزار برسد. به همین منظور، در این پایان نامه ابتدا تاریخچهای مختصر از توسعه سیستمهای با قابلیت پیکربندی مجدد بیان شده است. پس از آن، مفهوم قابلیت پیکربندی مجدد و انواع طراحی آن ارائه شده است. روند طراحی سیستم با قابلیت پیکربندی مجدد بر روی تراشه FPGA آورده شده است. ویژگیهای طراحی سیستم با یک زبان برنامه نویسی بر مبنای VHDL بیان شده است. در نهایت سیستمی به صورت سخت افزاری و نرم افزاری ارائه شده است که قابلیت پیکر بندی مجدد را دارد و با استفاده از پردازش موازی سرعت پیکر بندی مجدد سیستم را افزایش میدهد. در ضمن، ایده کار به این صورت است که باسهای حجیم از سیستم حذف شده و جای خود را به بلوکهای منطقی دهد. در نهایت، تمامی قسمتهای پویا و ایستا با هم به طور موازی کار میکنند که باعث افزایش سرعت مدار میشود.
فصل اول: تاریخچه محاسبات با قابلیت پیکربندی مجدد
1-1- مقدمه
مفهوم محاسبات با قابلیت پیکربندی مجدد از اوایل دهه 60 میلادی پدیدار شد. موقعی که مقاله جرالد استرین مفهوم یک کامپیوتر ساخته شده از یک پردازنده استاندارد و آرایهای از سخت افزار قابل پیکربندی مجدد را پیشنهاد کرد. پردازنده اصلی، عملکرد سخت افزار قابل پیکربندی مجدد را کنترل میکند. در نتیجه، این سخت افزار با قابلیت پیکربندی مجدد، برای انجام هر کاری مناسب خواهد بود. برای مثال میتوان کارهایی نظیر پردازش تصویر، الگوریتم عصبی و تطبیق الگو را با سرعت بالایی انجام داد. به محض اتمام یک کار، سخت افزار[1] میتواند برای انجام کار جدید پیکربندی مجدد[2] شود. چنین خاصیتی با ترکیب انعطاف پذیری یک نرم افزار[3] و سرعت یک سخت افزار، در یک ساختار ترکیبی امکان پذیر شده است. در ضمن، چنین ایدهای در زمان پیدایش، بسیار جلوتر از تکنولوژی ساخت سخت افزار مورد نیازش بود.
در دهه اخیر، تحقیقات زیادی درباره معماریهای با قابلیت پیکربندی مجدد بوجود آمده است. این معماریها هم در دانشگاهها و هم در صنعت توسعه یافتهاند. این معماریها در دسته های زیر قرار میگیرند:
– Matrix
– Gorp
– Elixent
– XPPSilicon Hive
– Montium
– Pleiades Morphosys
– PiCOGA
علت عملی بودن چنین طرحهایی، پیشرفت مداوم فنآوری سیلیکونی بوده که پیاده سازی[1] طرحهای پیچیده را روی یک تراشه امکان پذیر ساخته است.
اولین مدل تجاری کامپیوتر با قابلیت پیکربندی مجدد در جهان به نام Algotronix CHS 2*4 در سال 1991 ارائه شد. این طرح به هیچ عنوان موفقیت تجاری نداشت، اما آنقدر امیدبخش بود که شرکت Xilinx (مخترع FPGA) تکنولوژی را خرید و محققان Algotronix را به خدمت گرفت.
هم اکنون تعدادی شرکت فروشنده کامپیوترهای با قابلیت پیکربندی مجدد وجود دارند که بازار کامپیوترهای با کارایی بالا را در بر گرفتهاند. مهمترین این شرکتهاSRC Computers ، SGL و Cray میباشند. شرکت ابر رایانهای Cray بستر محاسبات قابل پیکربندی مجدد SRC را به دست آورد و آن را به عنوان XD1 به فروش میرساند. SGI رایانه RASC را همراه با سری ابر رایانههای Altix به فروش میرساند. شرکتSRC Computers یک خانواده از رایانههای قابل پیکربندی مجدد را توسعه داده است. این خانواده بر اساس معماری ضمنی و پردازنده MAP میباشد.
تمام آنچه که گفته شد رایانههای هیبریدی هستند، که این رایانهها با ریزپردازندههای FPGA همراه شدهاند و با آن ساخته میشوند. FPGA ها توسط کاربر برنامهریزی میشوند. این سیستمها میتوانند به عنوان ابر رایانههایی با سرعت بالا با استفاده از FPGA ها به کاربرده شوند. (در حقیقت FPGA ها گزینه ای در XD1 و SGIRASC هستند). پیکربندی XD1 و SGIFPGA از طریق زبانهای توصیف سخت افزار (HDL) صورت میگیرد. با به کارگیری زبانهای سطح بالایی نظیر ابزار گرافیکی Star Bridge Viva یا زبانهایی مانند C مثل Handel-C از Celoxica و Lmpulse-C از Impulse Accelerated technologies یاMitrpn-C از Mitrionics و همچنین VHDL و Verilog نیز میتوان پیکربندی را انجام داد. توسعه کد نویسی منطقی یک FPGA خام، یک فرآیند پیچیده است که نیازمند دانش و ابزار تخصصی است.
SRC کامپایلری را ساخته است که زبان سطح بالایی مثل C یا Fortran را به عنوان ورودی میگیرد و با تغییراتی اندک، آنها را برای اجرا و پیادهسازی روی [1]FPGA در ریزپردازنده، کامپایل میکند. بعضی از الگوریتمهای کاربردی با زبانهای سطح بالا همانند C و Fortran نوشته میشوند. کامپایلر (Carte)، حداکثر موازی سازی را در کد انجام میدهد و منطق سخت افزار خط لولهای را تولید میکند که در MAP ها مقداردهی شدهاند. همچنین این کامپایلر تمام کدهای واسطی که برای مدیریت انتقال داده در داخل و خارج MAP نیاز است را تولید میکنند. این کدهای واسط، وظیفه هماهنگ سازی ریزپردازنده با منطق در حال اجرا در MAP را دارند.
XD1 بین ریزپردازنده و FPGA به وسیله شبکه اتصال داخلی Rapid Array اش ارتباط برقرار میکند. سیستمهای SRC از طریق حافظه واسط SNAP و یا سویچ اختیاری Hi-Bear ارتباط برقرار میکنند. دستهبندی معماریهای با قابلیت پیکربندی مجدد روز به روز بیشتر توسعه مییابند. این به دلیل عرضه شدن معماریهای جدید و به روز میباشد (Azambuja 2011, 161-166).
FPGA ها آیسیهایی هستند که شکل سختافزاری آنها میتواند به راحتی، به شکل جدیدی تعریف شود. یعنی با بارگذاری یک پیکربندی جدید درست همانند نرمافزار جدیدی که میتواند بر روی یک ریزپردازنده یا DSP بارگذاری شود، نگاشت داده میشود. پردازش و الگوریتمهای فشرده FPGA ها میتواند آیسیهای متمایز شده به وسیله کاربرد ASIC را حاصل سازد. محققان در سراسر دنیا، به دنبال داشتن ابر رایانه و آی سیهایی با بازدهی بالا و انعطاف پذیر هستند، که از اجزا سخت افزاری قابل برنامهریزی مجدد برای هر کاربرد تشکیل میشوند. در نتیجه، چندین برابر، کارآیی را در پردازندههایی که با طول دستور ثابت کار میکنند، افزایش میدهد (Boyer and strother moore 2012, 181-189).
دو نسخه آرایه انقباضی Spalsh در SRC ساخته شدند. مدار اصلی Spalsh در سال 1989 با قیمت 13000 دلار ساخته شد که میتوانست از ابر رایانه موجود در آن زمان به نامCray 2 برای کاربردهای تطبیق الگوی بیتی پیشی بگیرد. این سیستم حاوی 32 عدد FPGA از سری 3090 شرکت Xilinx بود که به صورت یک آرایه خطی متصل شده بودند. FPGA های مجاور از یک بافر حافظهای اشتراکی استفاده میکردند.
بعد از آن، Splash 1 معرفی شد که میتوانست مقایسه یک رشته ی DNA را 45 برابر سرعت یک ایستگاه کاری با کارآیی بالا را در دهه 1990 انجام دهد. سه سال بعد Splash 2 ساخته شد که تعداد FPGA های خود را به 16 عدد کاهش داده بود. با این وجود به خاطر رشد سریع تراکم در FPGA، Splash 2 با 16 عدد FPGA مدل 4010 از شرکت Xilinx، دو برابر عملیات منطقی بیشتر از Splash 1 داشت. برای بهبود انعطاف ارتباطات داخلی Splash 2، ارتباط داخلی خطی را به وسیله یک میله عرضی تقویت کردند که اجازه میداد که هر FPGA با FPGA دیگری ارتباط برقرار کند.
برای دانلود پایان نامه اینجا را کلیک کنید.
لینک بالا اشتباه است
:: بازدید از این مطلب : 534
|
امتیاز مطلب : 0
|
تعداد امتیازدهندگان : 0
|
مجموع امتیاز : 0